// Преобразование base64 строки в Uint8Array
export function base64ToUint8Array(base64) {
  try {
    const binaryString = atob(base64.replace(/_/g, "/").replace(/-/g, "+"));
    const len = binaryString.length;
    const bytes = new Uint8Array(len);
    for (let i = 0; i < len; i++) {
      bytes[i] = binaryString.charCodeAt(i);
    }
    return bytes;
  } catch (e) {
    console.error("Invalid base64 string:", base64);
    throw e;
  }
}

// Вспомогательные функции для преобразования ArrayBuffer в base64
export function arrayBufferToBase64(buffer) {
  let binary = "";
  const bytes = new Uint8Array(buffer);
  const len = bytes.byteLength;
  for (let i = 0; i < len; i++) {
    binary += String.fromCharCode(bytes[i]);
  }
  return btoa(binary);
}
